﻿namespace System
{
    public delegate int Comparer(int x, int y);

    [ImportClass(string.Empty, "Array")]
    [ScriptDefaultValue(Value = "[]")]
    [NonScript]
    public class Array : Collections.IEnumerable
    {
        public uint Length = 0;

        public Array Concat(params Array[] arrays)
        {
            return null;
        }

        public string Join(char separator = ',')
        {
            return null;
        }

        public object Pop()
        {
            return null;
        }

        public void Push(params object[] items)
        {
        }

        public void Reverse()
        {
        }

        public object Shift()
        {
            return null;
        }

        public Array Slice(int start)
        {
            return null;
        }

        public Array Slice(int start, int end)
        {
            return null;
        }

        public Array Sort(Comparer func)
        {
            return null;
        }

        public Array Splice(int index, int removeItemCount, params object[] insertItems)
        {
            return null;
        }

        public int Unshift(params object[] insertItems)
        {
            return 0;
        }
        
        /*
        public Array ValueOf()
        {
            return null;
        }
        */

        public override string ToString()
        {
            return "[Array]";
        }

        [NonScript]
        public override Collections.IEnumerator GetEnumerator()
        {
            return null;
        }

        [NonScript]
        public void Add(object item)
        {
        }
    }
}
